---
title: Sync attorney schedule to Exchange calendar
summary: Push saved attorney schedule entries to the Exchange calendar via SAIF.Services.Exchange, suppressed outside Production.
status: draft
owner: SAIF Case Management team
last_reviewed: 2026-08-21
library: SAIF.Business.Claim.Legal
reference_type: embedded
operation_id: OP-CLL-016
trigger: clsAttorneySchedule.Save()/OnSave() completes a successful save in a Production environment
---

# Sync attorney schedule to Exchange calendar

Push saved attorney schedule entries to the Exchange calendar via SAIF.Services.Exchange, suppressed outside Production.

| Field | Value |
|---|---|
| **Operation ID** | OP-CLL-016 |
| **Trigger** | clsAttorneySchedule.Save()/OnSave() completes a successful save in a Production environment |
| **Inputs** | Business-object criteria properties set by the caller (see linked SQL parameter tables) |
| **Outputs** | Persisted/retrieved `clsAttorneySchedule` state |
| **Primary components** | `clsAttorneySchedule` |
| **Entry point** | `SAIF.Business.Claim.Legal\TableMaint\clsAttorneySchedule.vb` |

## Steps

1. Validate the request against applicable business rules: [BR-CLM-LGL-010](../business-rules.md#br-clm-lgl-010-attorney-schedule-entry-requires-attorney%2C-reason%2C-and-duration), [BR-CLM-LGL-011](../business-rules.md#br-clm-lgl-011-attorney-schedule-dates-must-be-valid-and-non-past), [BR-CLM-LGL-024](../business-rules.md#br-clm-lgl-024-attorney-schedule-suppresses-non-production-exchange-sync)
   - On failure: validation errors are collected and returned to the caller; the operation does not proceed.
2. Delegate to the LegalApi REST integration tier or an external service; no direct SQL is executed by this operation in this library.
   > **Origin**: The underlying request/response handling is implemented by the LegalApi REST client and/or the external service, not by direct SQL in this library.
3. Return the resulting object graph (or success/failure status) to the caller.

## Process flow

```mermaid
flowchart TD
	Start([clsAttorneySchedule Save/OnSave completes a successful save in a Production environment]) --> Validate[Validate business rules]
	Validate --> Decision{Valid?}
	Decision -->|No| EndErr([Return validation errors])
	Decision -->|Yes| Exec[Execute data access for clsAttorneySchedule]
	Exec --> EndOk([Return result])
```

## Failure and edge-case behavior

- Validation failure: the operation returns collected errors without persisting any change.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

## Sources
- `SAIF.Business.Claim.Legal\` (clsAttorneySchedule)